<template>
  <div class="my-counter">
    <button type="button" class="btn btn-light" @click="reduceFun">-</button>
    <input type="text" class="form-control inp" v-model="num" />
    <button type="button" class="btn btn-light" @click="addFun">+</button>
  </div>
</template>

<script>
export default {
  props: ["value"],
  data() {
    return {
      num: this.value,
    };
  },
  methods: {
    reduceFun() {
      if (this.num > 0) {
        this.num--;
        this.$emit("input", this.num);
      }
    },
    addFun() {
      this.num++;
      this.$emit("input", this.num);
    },
  },
};
</script>

<style lang="less" scoped>
.my-counter {
  display: flex;
  .inp {
    width: 45px;
    text-align: center;
    margin: 0 10px;
  }
  .btn,
  .inp {
    transform: scale(0.9);
  }
}
</style>